Method and apparatus for using unique landmarks to locate industrial vehicles at start-up

ABSTRACT

A method and apparatus for using unique landmarks to position industrial vehicles during start-up. In one embodiment, a method of using pre-positioned objects as landmarks to operate an industrial vehicle is provided. The method comprises identifying a start-up scenario from sensor data, wherein the start-up scenario comprises a unique marker start-up or a pre-positioned object start-up. in response to the identified start-up scenario, either a unique marker or pre-positioned object is identified within a physical environment, wherein the pre-positioned object or unique marker corresponds with a sub-area of the physical environment. The industrial vehicle pose is determined in response to the identity of the pre-positioned object or unique marker and the industrial vehicle is operated based on the determined industrial vehicle pose.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is filed as a continuation of U.S. application Ser. No.13/672,260 filed Nov. 8, 2012, which is a continuation ofPCT/US2012/052247 filed on Aug. 24, 2012, which is a continuation ofU.S. patent application Ser. No. 13/219,271, filed Aug. 26, 2011.

BACKGROUND

1. Technical Field

Embodiments of the present invention generally relate to industrialvehicle navigation systems and, more particularly, to a method andapparatus for using unique landmarks to localize an industrial vehicle.

2. Description of the Related Art

Entities regularly operate numerous facilities in order to meet supplyand/or demand goals. For example, small to large corporations,government organizations, and/or the like employ a variety of logisticsmanagement and inventory management paradigms to move objects (e.g., rawmaterials, goods, machines, and/or the like) into a variety of physicalenvironments (e.g., warehouses, cold rooms, factories, plants, stores,and/or the like). A multinational company may build warehouses in onecountry to store raw materials for manufacture into goods, which arehoused in a warehouse in another country for distribution into localretail markets. The warehouses must be well-organized in order tomaintain and/or improve production and sales. If raw materials are nottransported to the factory at an optimal rate, fewer goods aremanufactured. As a result, revenue is not generated for theunmanufactured goods to counterbalance the costs of the raw materials.

Unfortunately, physical environments, such as warehouses, have severallimitations that prevent timely completion of various tasks. Warehousesand other shared use spaces, for instance, must be safe for a human workforce. Some employees operate heavy machinery and industrial vehicles,such as forklifts, which have the potential to cause severe or deadlyinjury. Nonetheless, human beings are required to use the industrialvehicles to complete tasks, which include object handling tasks, such asmoving pallets of goods to different locations within a warehouse. Mostwarehouses employ a large number of forklift drivers and forklifts tomove objects. In order to increase productivity, these warehouses simplyadd more forklifts and forklift drivers.

Some warehouses utilize equipment for automating these tasks. As anexample, these warehouses may employ automated industrial vehicles, suchas forklifts, to carry objects on paths and then, unload these objectsonto designated locations. When navigating an industrial vehicle, it isimperative that vehicle pose computations are accurate. A vehicle posein this context means its position and heading information, generally apose refers to a position of an object in space with a coordinate framehaving orthogonal axes with a known origin and the rotations about eachof those axes or a subset of such positions and rotations. If theindustrial vehicle cannot determine a current position on a map, theindustrial vehicle is unable to execute tasks without prior knowledge ofthe physical environment. Furthermore, it is essential that theindustrial vehicle perform accurate localization at start-up where thereare few unique natural features, as inaccurate vehicle pose computationsare detrimental to accurate vehicle navigation. Localization at start-uprefers to any time a vehicle does not have a current pose such as afterpowering up or during operation when there is no currently valid pose.

Therefore, there is a need in the art for a method and apparatus forusing unique markers for start-up localization of an industrial vehiclewithout prior knowledge of a position in the physical environment.

SUMMARY

Various embodiments of the present disclosure generally comprise amethod and apparatus for using unique landmarks to position industrialvehicles during start-up. In one embodiment, a method of usingpre-positioned objects as landmarks to operate an industrial vehicle isprovided. The method comprises identifying a start-up scenario fromsensor data, wherein the start-up scenario comprises a unique markerstart-up or a pre-positioned object start-up. In response to theidentified start-up scenario, either a unique marker or pre-positionedobject is identified within a physical environment, wherein thepre-positioned object or unique marker corresponds with a sub-area ofthe physical environment. The industrial vehicle pose is determined inresponse to the identity of the pre-positioned object or unique markerand the industrial vehicle is operated based on the determinedindustrial vehicle pose.

In another embodiment, a computer is coupled to an industrial vehicleand comprises an environment based navigation module for identifying astart-up scenario from sensor data and enabling operation of the vehiclebased on a determined industrial vehicle pose. In a further embodiment,a computer-readable-storage medium is provided comprising one or moreprocessor-executable instructions that, when executed by a processor,enables operation of the vehicle based on a determined industrialvehicle pose.

BRIEF DESCRIPTION OF THE DRAWINGS

So that the manner in which the above recited features of the presentinvention can be understood in detail, a more particular description ofthe invention, briefly summarized above, may be had by reference toembodiments, some of which are illustrated in the appended drawings. Itis to be noted, however, that the appended drawings illustrate onlytypical embodiments of this invention and are therefore not to beconsidered limiting of its scope, for the invention may admit to otherequally effective embodiments.

FIG. 1 is a perspective view of a physical environment comprisingvarious embodiments of the present disclosure;

FIG. 2 illustrates a perspective view of the forklift for navigating aphysical environment to perform various tasks according to one or moreembodiments;

FIG. 3 is a structural block diagram of a system for using uniquelandmarks to position an industrial vehicle at start-up according to oneor more embodiments;

FIG. 4 is a functional block diagram of a system for providing accuratelocalization for an industrial vehicle according to one or moreembodiments;

FIG. 5 is a schematic illustration of a map for a physical environmentcomprising unique landmarks according to one or more landmarks; and

FIG. 6 is a flow diagram of a method of localizing an industrial vehiclewith respect to an overview map at start-up.

DETAILED DESCRIPTION

FIG. 1 illustrates a schematic, perspective view of a physicalenvironment 100 comprising one or more embodiments of the presentinvention.

In some embodiments, the physical environment 100 includes a vehicle 102that is coupled to a mobile computer 104, a central computer 106 as wellas a sensor array 108. The sensor array 108 includes a plurality ofdevices for analyzing various objects within the physical environment100 and transmitting data (e.g., image data, video data, range map data,three-dimensional graph data and/or the like) to the mobile computer 104and/or the central computer 106, as explained further below. The sensorarray 108 includes various types of sensors, such as encoders,ultrasonic range finders, laser range finders, pressure transducersand/or the like.

The physical environment 100 further includes a floor 110 supporting aplurality of objects. The plurality of objects include a plurality ofpallets 112, a plurality of units 114 and/or the like as explainedfurther below. The physical environment 100 also includes variousobstructions (not pictured) to the proper operation of the vehicle 102.Some of the plurality of objects may constitute as obstructions alongvarious paths (e.g., pre-programmed or dynamically computed routes) ifsuch objects disrupt task completion.

The physical environment 100 also includes a plurality of markers 116.The plurality of markers 116 are illustrated as objects attached to aceiling. In some embodiments, the plurality of markers 116 are beacons,some of which are unique or provide a unique configuration, thatfacilitate environment based navigation as explained further below. Theplurality of markers 116 as well as other objects around the physicalenvironment 100 form environment features. The mobile computer 104extracts the environment features and determines an accurate, currentvehicle pose and the vehicle 102 is then operated based on thedetermined industrial vehicle pose.

The aforementioned vehicle operation may comprises one or more manualoperations executed by a driver residing on the industrial vehicle, oneor more automated operations executed with the assistance of a remotecomputer or a computer residing on the industrial vehicle, orcombinations thereof. It is contemplated that the operations can beselected from a vehicle navigating operation, a vehicle positioningoperation, a vehicle steering operation, a vehicle speed controloperation, a load engagement operation, a lifting operation, a vehiclestatus alert display, or combinations thereof.

The physical environment 100 may include a warehouse or cold store forhousing the plurality of units 114 in preparation for futuretransportation. Warehouses may include loading docks to load and unloadthe plurality of units from commercial vehicles, railways, airportsand/or seaports. The plurality of units 114 generally include variousgoods, products and/or raw materials and/or the like. For example, theplurality of units 114 may be consumer goods that are placed on ISOstandard pallets and loaded into pallet racks by forklifts to bedistributed to retail stores. The industrial vehicle 102 facilitatessuch a distribution by moving the consumer goods to designated locationswhere commercial vehicles (e.g., trucks) load and subsequently deliverthe consumer goods to one or more target destinations.

According to one or more embodiments, the vehicle 102 may be anautomated guided vehicle (AGV), such as an automated forklift, which isconfigured to handle and/or move the plurality of units 114 about thefloor 110. The vehicle 102 utilizes one or more lifting elements, suchas forks, to lift one or more units 114 and then, transport these units114 along a path to be placed at a designated location. Alternatively,the one or more units 114 may be arranged on a pallet 112 of which thevehicle 102 lifts and moves to the designated location.

Each of the plurality of pallets 112 is a flat transport structure thatsupports goods in a stable fashion while being lifted by the vehicle 102and/or another jacking device (e.g., a pallet jack and/or a frontloader). The pallet 112 is the structural foundation of an object loadand permits handling and storage efficiencies. Various ones of theplurality of pallets 112 may be utilized within a rack system (notpictured). Within one type rack system, gravity rollers or tracks allowone or more units 114 on one or more pallets 112 to flow to the front.The one or more pallets 112 move forward until slowed or stopped by aretarding device, a physical stop or another pallet 112. In another typeof rack, the pallets are placed on horizontal bars that interlock withthe pallet structure. In this type of racking, the pallets on the lowestlevel are placed on the floor and protrude beyond the rack face, makingit difficult to use the rack uprights as a navigational reference.

In some embodiments, the mobile computer 104 and the central computer106 are computing devices that control the vehicle 102 and performvarious tasks within physical environment 100. The mobile computer 104is adapted to couple with vehicle 102 as illustrated. The mobilecomputer 104 may also receive and aggregate data (e.g., laser scannerdata, image data, and/or any other related sensor data) that istransmitted by the sensor array 108. Various software modules within themobile computer 104 control operation of the vehicle 102 as explainedfurther below.

In many instances, some areas of the environment 100 are designated asblock storage areas. In these areas, pallets 112 supporting a pluralityof units 114 are stacked. Typically, these areas contain many rows ofproduct, each of which is many pallets deep. Such stacked pallets aretypically sufficiently high that beacons 116 or other items of fixedinfrastructure are invisible to an industrial vehicle that is deep in arow of pallets.

In some embodiments, the mobile computer 104 is configured to determinea vehicle pose at start-up, which requires localization with respect tooverview map without any knowledge of a previous vehicle pose. Theoverview map provides a-priori map data in a global coordinate system.Once the mobile computer 104 determines that a vehicle pose of theindustrial vehicle 102 is unknown (e.g., when the automation system hasjust been started), the mobile computer 104 performs a search todetermine the most likely position of the industrial vehicle 102 usingvarious measurements extracted from sensor data, such as the geometry ofthe features (e.g. angles, lengths, radii). Based on the vehicle pose,the mobile computer 104 subsequently determines a path for completing atask within the physical environment 100.

In some embodiments, the mobile computer 104 uses a unique navigationalbeacon 116, such as a reflective barcode to determine an initialposition. In other embodiments, the mobile computer recognizes apre-placed pallet containing product and plans a path to the pre-placedproduct and navigates the industrial vehicle 102 such that the barcodeon the product can be read. The mobile computer 104 then requests fromthe central computer 106 the location of the preplaced product and usesthis location to determine an initial position for the vehicle. Infurther embodiments, the mobile computer 104 determines from variousenvironment measurements that the industrial vehicle is located in aracking aisle and plans a path and drives the industrial vehicle to alocation in the aisle, typically the end of the aisle, where sufficientunique landmarks can be measured to determine an initial position. Itwill be recognized by those skilled in the art that the industrialvehicle 102 requires an initial position in order to navigatesuccessfully; however, embodiments of the invention described below usean initial position estimate to facilitate navigation when driving isrequired to determine a correct initial position.

As explained further below, the mobile computer 104 defines one or moresub-areas within the physical environment 100 for facilitatinglocalization. It is appreciated, that the mobile computer 104 is notlimited to performing start-up localization. Each of these sub-areascorresponds with a unique landmark, such as one of the plurality ofmarkers 116 or one of the plurality of objects. Once the marker isrecognized, the location of the sub-area associated with the marker willbe used as start-up location estimate, once an initial position estimateis determined all sensor inputs are tested to ensure the sensor data isconsistent with the estimated position and the position is refined tothe final start-up position.

For example, and not by way of limitation, a unique landmark may includea placed item, such as one of the pallets 112 or one of the plurality ofitems 114 placed thereon, which can be uniquely identified (e.g. with aunique barcode, RFID, shape, or other attribute that is identifiable bythe sensors of an industrial vehicle 102). In this case, when a pallet112 and/or product load is scanned, picked-up, or otherwise engaged, theknown location of such object, which can be stored, for example, in awarehouse management system database, can be used as a marker in aprocess for determining vehicle pose.

As another example, the plurality of markers 116 may include a pluralityof beacons located at certain positions within the correspondingsub-areas arranged in a known and unique constellation. Alternatively,the unique landmark may include a reflective barcode, a visual glyph, anarrangement of light source elements that are configured to generate aunique light source signature, an arrangement of electrical, magnetic,or electromagnetic elements that are configured to generate a uniquemagnetic field signature, or unique painted or unpainted floor markings.

In one embodiment, the plurality of markers 116 comprise RF or othermeasurable wave signals that carry unique signatures and can be analyzedindependently by corresponding sensor electronics on the vehicle todetermine vehicle pose through triangulation.

As soon as the mobile computer 104 recognizes one of the uniquelandmarks, various software modules determine in which specific sub-areathe industrial vehicle is located. If such a vehicle location iscomputed at start-up, the mobile computer 104 loads a correspondingsub-area map from a database as explained in detail further below.Alternatively, the mobile computer 104 only needs to request a specificsub-area map from the central computer 106 in order to navigate theindustrial vehicle 102.

FIG. 2 illustrates a perspective view of the forklift 200 forfacilitating automation of various tasks within a physical environmentaccording to one or more embodiments of the present invention.

The forklift 200 (i.e., a lift truck, a high/low, a stacker-truck,trailer loader, sideloader, or a fork hoist) is a powered industrialtruck having various load capacities and used to lift and transportvarious objects. In some embodiments, the forklift 200 is configured tomove one or more pallets (e.g., the pallets 112 of FIG. 1) of units(e.g., the units 114 of FIG. 1) along paths within the physicalenvironment (e.g., the physical environment 100 of FIG. 1). The pathsmay be pre-defined or dynamically computed as tasks are received. Theforklift 200 may travel inside a storage bay that is multiple palletpositions deep to place or retrieve a pallet. Oftentimes, the forklift200 is guided into the storage bay and places the pallet on cantileveredarms or rails. Hence, the dimensions of the forklift 200, includingoverall width and mast width, must be accurate when determining anorientation associated with an object and/or a target destination.

The forklift 200 typically includes two or more forks (i.e., skids ortines) for lifting and carrying units within the physical environment.Alternatively, instead of the two or more forks, the forklift 200 mayinclude one or more metal poles (not pictured) in order to lift certainunits (e.g., carpet rolls, metal coils, and/or the like). In oneembodiment, the forklift 200 includes hydraulics-powered, telescopicforks that permit two or more pallets to be placed behind each otherwithout an aisle between these pallets.

The forklift 200 may further include various mechanical, hydraulic,and/or electrically operated actuators according to one or moreembodiments. In some embodiments, the forklift 200 includes one or morehydraulic actuator (not labeled) that permit lateral and/or rotationalmovement of two or more forks. In one embodiment, the forklift 200includes a hydraulic actuator (not labeled) for moving the forkstogether and apart. In another embodiment, the forklift 200 includes amechanical or hydraulic component for squeezing a unit (e.g., barrels,kegs, paper rolls, and/or the like) to be transported.

The forklift 200 may be coupled with the mobile computer 104, whichincludes software modules for operating the forklift 200 in accordancewith one or more tasks. The forklift 200 is also coupled with an arraycomprising various sensor devices (e.g., the sensor array 108 of FIG.1), which transmits sensor data (e.g., image data, video data, range mapdata, and/or three-dimensional graph data) to the mobile computer 104for extracting information associated with environmental features. Thesedevices may be mounted to the forklift 200 at any exterior and/orinterior position or mounted at known locations around the physicalenvironment 100. Exemplary embodiments of the sensors mounted on theforklift 200 typically include a camera 202, a planar laser scanner 204attached to each side, and/or an encoder 206 attached to each wheel 208.In other embodiments, the forklift 200 includes only the planar laserscanner 204 and the encoder 206. In still further embodiments, theforklift 200 includes only the camera 202 and the encoder 206. Theforklift 200 may use any sensor array with a field of view that extendsto a current direction of motion (e.g., travel forwards, backwards, forkmotion up/down, reach out/in, and/or the like). These encoders determinemotion data related to vehicle movement. Externally mounted sensors mayinclude laser scanners or cameras positioned where the rich data setavailable from such sensors would enhance automated operations. Externalsensors may include a limited set transponders and/or other active orpassive means by which an automated vehicle could obtain an approximateposition to seed a localization function. In some embodiments, a numberof sensor devices (e.g., laser scanners, laser range finders, encoders,pressure transducers, and/or the like) as well as their position on theforklift 200 are vehicle dependent, and the position at which thesesensors are mounted affects the processing of the measurement data. Forexample, by ensuring that all of the laser scanners are placed at ameasurable position, the sensor array 108 may process the laser scandata and transpose it to a center point for the forklift 200.Furthermore, the sensor array 108 may combine multiple laser scans intoa single virtual laser scan, which may be used by various softwaremodules to control the forklift 200.

FIG. 3 is a structural block diagram of a system 300 for providingaccurate start-up localization for an industrial vehicle according toone or more embodiments. In some embodiments, the system 300 includesthe mobile computer 104, the central computer 106 and the sensor array108 in which each component is coupled to each other through a network302.

The mobile computer 104 is a type of computing device (e.g., a laptop, adesktop, a Personal Desk Assistant (PDA) and the like) that comprises acentral processing unit (CPU) 304, various support circuits 306 and amemory 308. The CPU 304 may comprise one or more commercially availablemicroprocessors or microcontrollers that facilitate data processing andstorage. Various support circuits 306 facilitate operation of the CPU304 and may include clock circuits, buses, power supplies, input/outputcircuits, and/or the like. The memory 308 includes a read only memory,random access memory, disk drive storage, optical storage, removablestorage, and the like. The memory 308 includes various data, such as mapdata 310 the pose measurement data 316 pose prediction data 318, andinitial pose prediction data 344. The map data includes: overview mapdata 350, sub-area maps 352, object feature information 312, landmarkinformation 314, and placed (pre-positioned) object model data 342. Thememory 308 includes various software packages, such as an environmentbased navigation module 320.

The central computer 106 is a type of computing device (e.g., a laptopcomputer, a desktop computer, a Personal Desk Assistant (PDA) and thelike) that comprises a central processing unit (CPU) 322, varioussupport circuits 324 and a memory 326. The CPU 322 may comprise one ormore commercially available microprocessors or microcontrollers thatfacilitate data processing and storage. Various support circuits 324facilitate operation of the CPU 322 and may include clock circuits,buses, power supplies, input/output circuits, and/or the like. Thememory 326 includes a read only memory, random access memory, disk drivestorage, optical storage, removable storage, and the like. The memory326 includes various software packages, such as a map manager 328 and atask manager (not shown), as well as various data, such as a task 330.

The network 302 comprises a communication system that connects computingdevices by wire, cable, fiber optic, and/or wireless links facilitatedby various types of well-known network elements, such as hubs, switches,routers, and the like. The network 302 may employ various well-knownprotocols to communicate information amongst the network resources. Forexample, the network 302 may be part of the Internet or intranets usingvarious communications infrastructure such as Ethernet, WiFi, WiMax,General Packet Radio Service (GPRS), and the like.

The sensor array 108 is communicably coupled to the mobile computer 104,which is attached to an automated vehicle, such as a forklift (e.g., theforklift 200 of FIG. 2). The sensor array 108 includes a plurality ofdevices 332 for monitoring a physical environment and capturing variousdata, which is stored by the mobile computer 104. In some embodiments,the sensor array 108 may include any combination of one or more laserscanners and/or one or more cameras. In some embodiments, the pluralityof devices 332 may be mounted to the automated industrial vehicle. Forexample, a laser scanner and a camera may be attached to a lift carriageat a position above or, alternatively, below the forks.

In some embodiments, the map data 310 includes overview map data 350which is used by the environment based navigation module 320 to evaluatethe environment during start-up. The overview map data may include dataidentifying a variety of start-up scenarios, including the features tobe observed in each scenario. For example, the overview map data mayprovide a generic aisle feature model, a generic blocked stack areafeature model, feature models of environment walls and fixedinfrastructure that may be unique, and unique navigational marker modelssuch as a reflective beacon model. The environment based navigationmodule 320, when starting up, uses the overview map data to identify thestart-up scenario as described further below.

In some embodiments, the map data 310 includes landmarks, which may bedynamic or static, from a physical environment, such as a shared usearea for human workers and automated industrial vehicles. Each landmarkis comprised of features which are sensor observable views of theassociated landmarks. The map data 310 may include a vector of knownobserved and/or expected features. In some embodiments, the map data 310indicates locations of objects (e.g., pre-positioned objects) throughoutthe physical environment. The physical environment may be segmented intoa plurality of sub-areas with corresponding map data stored in theplurality of sub-area maps 352. Sub-area map generation is described incommonly assigned, U.S. patent application Ser. No. 13/159,501, filedJun. 14, 2011, which is herein incorporated by reference in itsentirety. The object feature information 312 defines features (e.g.,curves, lines, and/or the like) associated with one or moreinfrastructure, obstacle, or pre-positioned objects. As described infurther detail below, the environment based navigation module 320 maydesignate some of the one or more pre-positioned objects as uniquelandmarks that correspond to specific map sub-areas. The pre-positionedobject is uniquely identifiable through the use of barcodes, RFID,specific shape, or any other unique feature that can be sensed by thesensors of an industrial vehicle. Once the object is identified,pre-positioned object data 342 may be accessed to inform the mobilecomputer 104 the details of the pre-positioned object, i.e., the pose ofthe object. If the object data for the identified object is not locallystored as data 342, the mobile computer can request the information fromthe central computer 106. The central computer 106 maintains placedobject data 346 containing information regarding all pre-positionedobjects. The pre-positioned object data 342 (i.e., pose of thepre-positioned object) is used by the mobile computer 104 to determinean accurate, initial vehicle pose.

After a pre-positioned object is used to compute an initial vehiclepose, the vehicle is capable of operating autonomously. In someembodiments, the map data 310 indicates locations for at least onelandmark as defined in the landmark information 314. The landmarkinformation 314 identifies a number of features that form each of the atleast one landmark as well as other data, such as a landmark type, alocation, measurement data, and/or the like. Some of the at least onelandmarks are proximate to the industrial vehicle. For example, theseproximate landmarks and the industrial vehicle may be co-located withina certain sub-area of the physical environment. By comparing featureinformation associated with the proximate landmarks with featureinformation associated with the unique landmarks, the environment basednavigation module 320 determines an accurate vehicle pose.

In some embodiments, the pose measurement data 316 includes anaggregation of data transmitted by the plurality of devices 332. Suchdata indicates one or more observed features. In one embodiment, the oneor more cameras transmit image data and/or video data of the physicalenvironment that are relative to a vehicle. In another embodiment, theone or more laser scanners (e.g., three-dimensional laser scanners)analyze objects within the physical environment and capture datarelating to various physical attributes, such as size and shape. Thecaptured data can then be compared with three-dimensional object models.The laser scanner creates a point cloud of geometric samples on thesurface of the subject. These points can then be used to extrapolate theshape of the subject (i.e., reconstruction). The laser scanners have acone-shaped field of view. While the cameras record color informationassociated with object surfaces within each and every field of views,the laser scanners record distance information about these objectsurfaces.

The data produced by the laser scanner indicates a distance to eachpoint on each object surface. Based on these distances, the environmentbased navigation module 320 determines a three-dimensional position ofthe each point in a local coordinate system relative to each laserscanner. The environment based navigation module 320 transposes eachthree-dimensional position to be relative to the vehicle. The laserscanners perform multiple scans from different perspectives in order todetermine the points on the each and every object surface. Theenvironment navigation module 320 normalizes the data produced by themultiple scans by aligning the distances along a common referencesystem, such as a global coordinate system. Then, these software modulesmerge the object features to create a model of the objects within apartial field of view.

In some embodiments, the pose prediction data 318 includes an estimateof vehicle position and/or orientation of which the present disclosuremay refer to as the vehicle pose prediction. Initial pose predictiondata 344 is available from the pre-positioned object data 342. Once amobile computer 104 utilizes the initial pose prediction data 344, theenvironment based navigation module 320 produces updated estimates usinga prior vehicle pose in addition to the sensor measurements to indicatean amount of movement (e.g. inertial measurement unit (IMU) orodometer). The environment based navigation module 320 may also use aprocess filter to estimate uncertainty and/or noise for an upcomingvehicle pose prediction and update steps. Using odometry data, forexample, the environment based navigation module 320 computes thedistance traveled by the industrial vehicle from a prior vehicleposition, along with uncertainty of the pose given by the noise model ofthe odometry device. After subsequently referencing a map of thephysical environment, and comparing other sensory data (e.g. laser rangesensor, camera) with the map, the environment based navigation module320 determines a more accurate estimate of a current vehicle positionand update the pose uncertainty.

The environment based navigation module 320 includesprocessor-executable instructions for localizing the industrial vehicle102 using unique landmarks according to some embodiments. In someembodiments, the environment based navigation module 320 designates aunique landmark (e.g., one of the plurality of items 114 or theplurality of markers 116 of FIG. 1) corresponding with a specificportion or sub-area of the physical environment. The environment basednavigation module 320 may estimate an initial vehicle pose using apre-positioned object (e.g., a placed product item or a pallet) or aplaced landmark (e.g., a marker, such as a reflective navigationbeacon). Using the object feature information 312, the environment basednavigation module 320 updates the map data 310 to include thepre-positioned object or an empty slot that constitutes a lack of thepre-positioned object.

FIG. 4 is a functional block diagram of a system 400 for providingaccurate localization for an industrial vehicle according to one or moreembodiments. The system 400 includes the mobile computer 104, whichcouples to an industrial vehicle, such as a forklift, as well as thesensor array 108. Various software modules within the mobile computer104 collectively form an environment based navigation module (e.g., theenvironment based navigation module 320 of FIG. 3).

The mobile computer 104 includes various software modules (i.e.,components) for performing navigational functions, such as alocalization module 402, a mapping module 404, a correction module 408,and a vehicle controller 410. The mobile computer 104 provides accuratelocalization for the industrial vehicle and updates map data 406 withcurrent pose measurements. The localization module 402 also includesvarious components, such as a filter 414 and a feature extraction module416. The map module 404 includes various data, such as a vehicle pose418 and dynamic features 422. The map module 404 also includes variouscomponents, such as a feature selection module 420.

In some embodiments, the localization module 402 processes correctedsensor data from the correction module and modifies observed posemeasurements therein. After comparing these pose measurements with apose prediction, the filter 414 updates the pose prediction to accountfor an incorrect estimation and/or observation uncertainty. The filter414 determines the vehicle pose 418 and communicates the pose to themapping module 404. The vehicle pose 418, which is modeled by the filter414, includes data (e.g., coordinates) indicating vehicle positionand/or orientation. The localization module 402 communicates dataassociated with the vehicle pose 418 to the mapping module 404 whilealso communicating such data to the vehicle controller 410. Based on thevehicle position and orientation, the vehicle controller 410 navigatesthe industrial vehicle to a destination.

In addition to the filter 414 for calculating the vehicle pose 418, thelocalization module 414 also includes the feature extraction module 416for extracting known standard features from the corrected sensor data.The feature selection module 420 compares the vehicle pose 418 with themap data to select a sub-area map (the sub-area map 352 of FIG. 3)proximate to the vehicle. The feature selection module further selectsfrom a available dynamic features 422 and static features 424 to providethe localization module 402 with a reduced number of features to examineby eliminating potentially invisible features from the feature set422/424. The feature selection module 420 manages addition andmodification of the dynamic features 422 to the map data 406. Thefeature selection module 420 can update the map data 406 to indicateareas recently occupied or cleared of certain features, such as knownplaced (pre-positioned) and picked objects.

It is appreciated that the system 400 may employ several computingdevices to perform environment based navigation. Any of the softwaremodules within the computing device 104 may be deployed on different ormultiple physical hardware components, such as other computing devices.The mapping module 404, for instance, may be executed on a servercomputer (e.g., the central computer 102 of FIG. 1) over a network(e.g., the network 302 of FIG. 4) to connect with multiple mobilecomputing devices for the purpose of sharing and updating the map data406 with a current vehicle position and orientation.

In some embodiments, the correction module 402 processes sensor inputmessages from disparate data sources, such as the sensor array 108,having different sample/publish rates for the vehicle pose 418 as wellas different (internal) system delays. The correction module 402extracts observed pose measurements from the sensor data within thesemessages. The correction module 402 examines each message separately inorder to preserve the consistency of each observation. Such anexamination may be performed in place of fusing the sensor data to avoidany dead reckoning errors. Notice that with different sampling periodsand different system delays, the order at which the sensor data isacquired is not the same as the order at which the sensor input messageseventually became available to the computing device 104.

FIG. 5 is a schematic illustration of a map 500 for a physicalenvironment comprising pre-positioned objects and unique landmarksaccording to one or more embodiments of the invention. The map 500 ispartitioned into a sub-area 502, a sub-area 504, a sub-area 506, and asub-area 508, where each sub-area presents a different start-up problemwhich is solved as further described below. The map 500 depicts threeindustrial vehicles 530/531/532 (e.g. the industrial vehicle 102 ofFIG. 1) to be located in sub-areas 502/504 and 508. At start-up, theindustrial vehicle 530/531/532 has no information about its pose, orwhich sub-area the vehicle is currently located. Sensors (e.g., laserscanners) coupled to the industrial vehicle 102 process measurement datawithin a range 518. The environment (e.g., the physical environment 100of FIG. 1) also contains fixed landmarks such as walls 516, rackprotectors 510, racking legs 512, and a placed unique navigationalmarker 514. The environment also includes a plurality of pre-positionedobjects 520 and 521 for which the environment based navigation modulee.g. the environment based navigation module 320 of FIG. 3) can obtainposition data from the map manager (e.g., the map manager 340 of FIG.3).

In one embodiment, during start-up, the industrial vehicle 532 evaluatesfeatures within the range 518; the vehicle 532 senses a uniquenavigational landmark 514. The landmark 514 is a navigational beacon(e.g., the navigational beacons 116 of FIG. 1) and may include varioustypes of geometric markers. In some embodiments, the marker 514 is anavigational beacon having a reflective portion (e.g., a reflectivesurface), which may be identified using the laser scanner (e.g. thelaser scanner 204 of FIG. 2). Instead of the reflective portion, themarker 514 may include a two-dimensional barcode that is extracted usingimage processing. The marker 514 may form a unique combination offeatures differing from any other marker. In some embodiments,reflectors are artificial navigational beacons that are used as uniquelandmarks for performing start-up localization with respect to theoverview map. The laser scanner returns intensity information associatedwith the reflectors during laser scans when a laser beam contacts anobject having a reflective index above a certain threshold. Hence, ifthe marker 512 is a reflector, the marker 514 is easily recognizablefrom a laser scan. On detecting a unique marker, the environment basednavigation module (e.g., the environment based navigation module 320 ofFIG. 3) references the marker data (e.g., the marker data 348 of FIG. 3)to find a location of the navigational landmark. The environment basednavigation module will then use the pose measurement data for thelandmark (e.g., the pose measurement data 316 of FIG. 3) to determinethe initial pose prediction data (e.g., the initial pose prediction data344 of FIG. 3) for the industrial vehicle. Using the initial pose, theenvironment based navigation module selects a current sub-area as area508 and obtains a sub-area map for this area (e.g., the sub area map 352of FIG. 3). The environment navigation module will then refine theposition using observable features from the sub-area such as the wall516 and the rack protectors 510. The refined position will be used asthe new pose and the industrial vehicle will be in a position toreliably navigate and complete tasks.

In another embodiment, the industrial vehicle 530, when performing astart-up scan of the environment within the scanning range 519, detectsa number of pre-positioned objects 520 and 521. The pre-positionedobjects are recognized by matching scan data with placed object data(e.g., the placed object data 344 of FIG. 3). The industrial vehicle 530determines that it is in a row of products by evaluating the relativepositions of the sensed features against a model of the block stackedobject rows data provided as part of the overview map (e.g., theoverview map 350 of FIG. 3). The industrial vehicle could be in any oneof a plurality of block stacked product rows and there is insufficientinitial data to determine a precise location. The industrial vehicleidentifies that the block stacked product rows are in sub-area 502 ofthe map 500 by accessing the overview map. The industrial vehicle thenaccess the sub-area map 502. The industrial vehicle selects a candidaterow of block stacked product using the information on pre-positionedproduct that matches the feature information received from the laserscanners. This candidate may be inaccurate but provides a position fromwhich the industrial vehicle can navigate to a location where theposition may be refined. The industrial vehicle estimates the initialpose (e.g., the initial pose prediction data 344 of FIG. 3). Theindustrial vehicle then triggers a start-up task associated with ablocked stacked area (e.g., the tasks 330 of FIG. 3) to drive thevehicle to scan the product 521. The pre-positioned object 521 isuniquely identifiable through the use of barcodes, RFID, specific shape,or any other unique feature that can be sensed by the sensors of anindustrial vehicle. The industrial vehicle identifies the pre-positionedproduct 521 using a barcode scanner. Alternatively, the industrialvehicle may scan an RFID, match the product using an image, read a labelon the product from an image, or use other identification meansunderstood by those skilled in the art. The industrial vehicle 530accesses the position of the product 521 from the placed object data(e.g., the placed object data 346 of FIG. 3). Alternatively, theindustrial vehicle may request a location of the pre-positioned object521 from an external system such as a Warehouse Management System. Oncethe industrial vehicle has a position from the pre-positioned object521, a new start-up pose estimate is developed using the objectposition.

In another embodiment, the industrial vehicle 531 identifies that it isin a racking aisle row by matching the scanned features to an aislemodel provided in the overview map data (e.g., the overview map data 350of FIG. 3) by matching to pre-positioned products 520 and the rackinglegs 512 that are visible within the scanning range 521. The industrialvehicle 531 cannot determine a unique position from the initial scan butcan develop a initial pose estimate that is sufficient to navigatereliably to either a specific pre-positioned object 520, or down the rowof racking to one end or the other. The industrial vehicle 531 triggersa start-up task to drive to the selected position. If the selectedposition is a location to scan a pre-positioned object, the position ofthe object is used to provide a refined start-up position as describedabove. Alternatively, if the end of the racking aisle is the selectedposition, the industrial vehicle is able to sense the racking protectors510 on which a unique navigational marker may be positioned and developa refined start-up position using the unique navigational marker asdescribed above.

FIG. 6 is a flow diagram of a method 600 for localizing an industrialvehicle at start-up with respect to a overview map according to one ormore embodiments. In some embodiments, an environment based navigationmodule (e.g., the environment based navigation module 320 of FIG. 3)performs each and every step of the method 600. In other embodiments,some steps are omitted or skipped. The environment based navigationmodule is stored within a mobile computer (e.g., the mobile computer 104of FIG. 1) that is operably coupled to an industrial vehicle (e.g., theindustrial vehicle 102 of FIG. 1). A central computer (e.g., the centralcomputer 106 of FIG. 1) includes a manager (e.g., the manager 328 ofFIG. 3) for communicating with the industrial vehicle as well as one ormore second industrial vehicles. When performing a task (e.g., the task330 of FIG. 3), a task manager communicates instructions for executingthe task. For example, the task manager may instruct the environmentbased navigation module to navigate the industrial vehicle along aparticular path. The method 600 starts at step 602 and proceeds to step604.

At step 604, the method 600 initializes the sensors required fornavigation. At step 606, the environment based navigation module (e.g.,the environment based navigation module 320 of FIG. 3) obtains thestart-up scan data from the attached sensors. A start-up scan may berepeated to perform a plurality of scans to create the start-up scandata. At step 608, the method 600 evaluates the information obtained inthe start-up scan to extract the features of the objects in range andidentify landmark types from the features including extractingreflective beacons, pre-positioned objects, and other navigationalreferences. At step 610, the method 600 examines the overview map data(e.g., the overview map data 350 of FIG. 3) to associate extractedobjects with the plurality of target start-up localization candidates.At step 612, the method 600 evaluates the start-up scenario. If areflective barcode or other unique marker (landmark) has beenidentified, the method 600 proceeds to step 622; otherwise, the method600 proceeds to step 614.

At step 614, the method 600 creates an initial position estimate, whichis one of a plurality of potential positions based on the scenariodetermined from the start-up scan and the overview map. At step 616, themethod 600 triggers a start-up task associated with the identifiedscenario that will navigate the industrial vehicle to a position where arefined navigational position estimate may be found. The start-up taskdrives the vehicle to the designated position and new landmark data isobtained. At step 618, the method 600 determines whether the refinednavigational position is to be obtained from a pre-positioned object ora unique marker. If a pre-positioned object identifier is to be used,the method 600 proceeds to step 620. If a unique marker is to be used,the method 600 proceeds to step 622. At step 620, the method 600 obtainsinformation about the prepositioned object, especially its position onthe overview map. At step 622, the method 600 obtains information aboutthe unique marker arrangement including the position on the overviewmap.

At step 624, the method 600 determines a new initial position bycalculating the vehicle position relative to the retrieved landmarkpose. At step 626, the method 600 identifies a sub-area map in which theindustrial vehicle is located. At step 628, the method 600 corrects theinitial position by evaluating other features available from thesub-area map and matching them to the information obtained from thevehicle's sensors. At step 630, the method 600 navigates the industrialvehicle according to one or more assigned tasks. At step 632, the method600 ends.

Various elements, devices, and modules are described above inassociation with their respective functions. These elements, devices,and modules are considered means for performing their respectivefunctions as described herein.

While the foregoing is directed to embodiments of the present invention,other and further embodiments of the invention may be devised withoutdeparting from the basic scope thereof, and the scope thereof isdetermined by the claims that follow.

The invention claimed is:
 1. A method of operating an industrial vehiclein a navigation system, wherein the method comprises: providing theindustrial vehicle, one or more sensors coupled to the industrialvehicle, a mobile computer operably coupled to the industrial vehicle,and an environment based navigation module comprised in the mobilecomputer; utilizing the mobile computer coupled to the industrialvehicle to process measurement data from the sensors, wherein themeasurement data is indicative of the presence of pre-positioned objectsor landmarks within a range of the sensors; utilizing the mobilecomputer coupled to the industrial vehicle to determine initial poseprediction data for the industrial vehicle from the measurement data,wherein the initial pose prediction data is sufficient to determine asub-area of a physical environment in which the industrial vehicle ispositioned, but the initial pose prediction data is insufficient todetermine a location of the industrial vehicle within the determinedsub-area; utilizing the mobile computer coupled to the industrialvehicle to select a sub-area of the physical environment based on theinitial pose prediction data and obtain a sub-area map from an overviewmap of the physical environment based on the initial pose predictiondata; utilizing the mobile computer coupled to the industrial vehicle torefine the initial pose prediction data for the industrial vehicle usingthe sub-area map and features observable by the sensors from theselected sub-area to generate a new pose; and utilizing the new pose,the sensors, and the environment based navigation module of the mobilecomputer to navigate the industrial vehicle through the physicalenvironment.
 2. A method as claimed in claim 1 wherein the selectedsub-area comprises a block stacked area of the physical environment andmethod further comprises utilizing the mobile computer coupled to theindustrial vehicle to develop a new start-up pose estimate by triggeringa start-up task wherein: the industrial vehicle is driven by theenvironment based navigation module of the mobile computer to scan apre-positioned object in the block stacked area of the physicalenvironment; the pre-positioned object is uniquely identifiable througha feature that can be sensed by the sensors coupled to the industrialvehicle; the mobile computer operably coupled to the industrial vehicleaccesses the position of the pre-positioned object and uses the positionto develop the new start-up pose estimate.
 3. A method as claimed inclaim 2 wherein the mobile computer coupled to the industrial vehicleaccesses the position of the pre-positioned object from placed objectdata or by requesting a location of the pre-positioned object from ansystem external to the mobile computer.
 4. A method as claimed in claim1 wherein the overview map comprises a plurality of sub-area maps, theinitial pose prediction data comprises relative positions of featuressensed using the sensors, and the method comprises: utilizing the mobilecomputer coupled to the industrial vehicle to determine if theindustrial vehicle is in a particular sub-area of the physicalenvironment by evaluating relative positions of sensed features againstthe sub-area maps; and utilizing the sub-area map and the environmentbased navigation module of the mobile computer to navigate theindustrial vehicle to a location where the initial pose prediction datais refined by the mobile computer coupled to the industrial vehicle. 5.A method as claimed in claim 4 wherein the location to which theindustrial vehicle is navigated to refine the initial pose predictiondata comprises a pre-positioned object.
 6. A method as claimed in claim4 wherein the location to which the industrial vehicle is navigated torefine the initial pose prediction data comprises an end of a row ofblock stacked products.
 7. A method as claimed in claim 1 wherein: theoverview map comprises a model of block-stacked object rows data; theinitial pose prediction data comprises relative positions of featuressensed using the sensors; and the method comprises utilizing the mobilecomputer coupled to the industrial vehicle to determine if theindustrial vehicle is in a sub-area corresponding to blocked-stackedobject rows by evaluating the relative positions of the sensed featuresagainst the model of block-stacked object rows data.
 8. A method asclaimed in claim 7 wherein: the initial pose prediction data isinsufficient to determine in which of a plurality of rows of productsthe industrial vehicle is positioned; and the method comprises utilizingthe mobile computer coupled to the industrial vehicle to select acandidate row of blocked stacked product in the sub-area usingpre-positioned product information that matches feature informationreceived from the sensors.
 9. A method as claimed in claim 8 wherein thecandidate row may be inaccurate and the method further comprisesutilizing the environment based navigation module of the mobile computerto navigate the industrial vehicle to a location where the initial poseprediction data is refined by the mobile computer coupled to theindustrial vehicle.
 10. A method as claimed in claim 9 wherein thelocation to which the industrial vehicle is navigated to refine theinitial pose prediction data comprises a pre-positioned object or an endof a row of block stacked products.
 11. A method as claimed in claim 1wherein: the overview map comprises a racking aisle model provided indata of the overview map; the initial pose prediction data comprisesrelative positions of features sensed using the sensors; and the methodcomprises utilizing the mobile computer coupled to the industrialvehicle to determine if the industrial vehicle is in a sub-areacorresponding to a racking aisle by matching relative positions of thesensed features against the racking aisle model.
 12. A method as claimedin claim 1 wherein the observable features are selected from landmarkscomprising walls, rack protectors, racking legs, placed uniquenavigational markers, or combinations thereof.
 13. A method as claimedin claim 1 wherein: the observable features comprise pre-positionedobjects; and the mobile computer coupled to the industrial vehicleaccesses a position of the pre-positioned object from placed object dataor by requesting a location of the pre-positioned object from an systemexternal to the mobile computer.
 14. A method as claimed in claim 13wherein the placed object data comprises object identity and objectpose.
 15. A method as claimed in claim 13 wherein: the pre-positionedobject comprises a pallet or product load; the mobile computer coupledto the industrial vehicle accesses a position of the pallet or productload by scanning, picking up, or otherwise engaging the pallet orproduct load and retrieving a known location of the pallet or productload from a warehouse management system database.
 16. A method asclaimed in claim 13 wherein: the sensors of the industrial vehiclecomprise a laser scanner; the pre-positioned object comprises a barcode;and the method comprises scanning the barcode with the laser scanner toidentify the pre-positioned object.
 17. A method as claimed in claim 13wherein: the sensors of the industrial vehicle comprise a cameraconfigured to capture images of the pre-positioned objects; thepre-positioned object comprises a label; and the method comprisesidentifying the pre-positioned object from the label captured in animage of the pre-position object.
 18. A method as claimed in claim 17wherein the label is a barcode.
 19. A method as claimed in claim 13wherein: the sensors of the industrial vehicle comprise an RFID tagreader; the pre-positioned object comprises an RFID tag; and the methodcomprises interrogating the RFID tag with the RFID tag reader toidentify the pre-positioned object.
 20. A method as claimed in claim 13wherein: the sensors comprise an camera configured to capture images ofthe pre-positioned objects; and the method comprises utilizing themobile computer of the industrial vehicle to identify the pre-positionedobject from an image of a pre-positioned object captured by the camera.21. A method as claimed in claim 13 wherein the pre-positioned object isidentified by a specific shape or unique feature sensed by the sensorsof the industrial vehicle.
 22. A method as claimed in claim 1 whereinthe sensors coupled to the industrial vehicle comprise a laser scannerand a camera.
 23. A method as claimed in claim 1 wherein the methodcomprises starting-up the industrial vehicle such that the industrialvehicle has no information about its pose or its location relative toparticular sub-areas of the environment prior to utilizing the mobilecomputer to process measurement data from the sensors.
 24. A method asclaimed in claim 1 wherein the sub-area map comprises one or morefeatures and prior to refining the initial pose prediction data of theindustrial vehicle, the method comprises eliminating features from thesub-area map which are not observable to the sensors.
 25. A method asclaimed in claim 1 wherein the features observable by the sensorscomprise a plurality of beacons arranged in a known and uniqueconstellation.
 26. A method as claimed in claim 1 wherein the featuresobservable by the sensors comprise unique navigational markers coupledto racking protectors at an end of the row of blocked stacked products.27. A method as claimed in claim 1 wherein: the overview map comprisespositions of racking legs; the initial pose prediction data comprisesrelative positions of features sensed using the sensors; and the methodcomprises utilizing the mobile computer coupled to the industrialvehicle to determine if the industrial vehicle is in a sub-areacorresponding to a racking aisle by matching the relative positions ofthe pre-positioned objects and racking legs sensed using the sensorsagainst the positions of racking legs from the overview map.
 28. Amethod of operating an industrial vehicle in a navigation system,wherein the method comprises: providing the industrial vehicle, one ormore sensors coupled to the industrial vehicle, a mobile computeroperably coupled to the industrial vehicle, wherein the mobile computercomprises an environment based navigation module and an environmentbased navigation module comprised in the mobile computer; utilizing themobile computer coupled to the industrial vehicle to process measurementdata from the sensors, wherein the measurement data is indicative of thepresence of at least one pre-positioned object within a range of thesensors; utilizing the mobile computer coupled to the industrial vehicleto develop an initial pose estimate, wherein the initial pose estimateis sufficient to determine a sub-area of a physical environment in whichthe industrial vehicle is positioned, but the initial pose estimateinsufficient to determine a location of the industrial vehicle withinthe determined sub-area; utilizing the mobile computer coupled to theindustrial vehicle to select a sub-area based on the initial poseestimate and obtain a sub-area map from an overview map of theenvironment based on the initial pose estimate; utilizing the sub-areamap and data from the sensors coupled to the industrial vehicle tonavigate the industrial vehicle to the pre-positioned object; accessinga position of the pre-positioned object from placed object dataassociated with the pre-positioned object or from a warehouse managementsystem in communication with the mobile computer; developing a new poseestimate for the industrial vehicle using the accessed position of thepre-positioned object; and utilizing the new pose estimate, data fromthe sensors, and the environment based navigation module of the mobilecomputer to navigate the industrial vehicle through the physicalenvironment.
 29. A method as claimed in claim 28 wherein: themeasurement data processed after starting-up the industrial vehiclecomprises a plurality of pre-positioned objects; and the environmentbased navigation module obtains position data for the pre-positionedobjects from a map manager in communication with the mobile computer.30. A method of generating a pose of an industrial vehicle prior tonavigation, wherein the method comprises: providing the industrialvehicle, one or more sensors coupled to the industrial vehicle, a mobilecomputer operably coupled to the industrial vehicle, and an environmentbased navigation module comprised in the mobile computer, utilizing themobile computer coupled to the industrial vehicle to process measurementdata of the surrounding physical environment within a range of thesensors; utilizing the mobile computer coupled to the industrial vehicleto determine initial pose prediction data for the industrial vehiclefrom the measurement data, wherein the initial pose prediction data issufficient to determine a sub-area of a physical environment in whichthe industrial vehicle is positioned, but the initial pose predictiondata is insufficient to determine a location of the industrial vehiclewithin the determined sub-area, utilizing the mobile computer coupled tothe industrial vehicle to select a sub-area based on the initial poseprediction data and obtain a sub-area map from an overview map of thephysical environment based on the initial pose prediction data; andutilizing the sub-area map, data from the sensors coupled to theindustrial vehicle, and the environment based navigation module of themobile computer to drive the industrial vehicle to a pre-positionedobject; scanning the pre-positioned object with the sensors; accessing aposition of the pre-positioned object from placed object data associatedwith the pre-positioned object or from a warehouse management system incommunication with the mobile computer; generating a new pose of theindustrial vehicle by utilizing the mobile computer coupled to theindustrial vehicle to refine the initial pose prediction data for theindustrial vehicle using the sub-area map and the accessed position ofthe pre-positioned object; and wherein the industrial vehicle does notnavigate the physical environment until the new pose is generated.